Optical disk media are capable of storing a considerable amount of data in the form of small marks or holes in the surface of the disk, each representing a bit of data. The marks, burned into the surface of the disk by a laser, are arranged along spiral tracks, each divided into a number of sectors.
FIG. 8 is a diagram of an apparatus 10 for reading data prerecorded on an optical disk 12. The disk 12 is rotated by a disk servo 14 comprising a precisely controllable DC motor. A laser 16 irradiates the surface of the disk 12, and light reflected from the disk impinges on the surface of a detector 18. An optical head 20, located between the disk 12 and laser/detector 16, 18, is positioned by another servo (not shown) to read data from a desired track. Writing is carried out using similar optics, with the optical medium being preheated to enable light from laser 16 to form surface marks corresponding to data. The servos and laser/detector are controlled by a microprocessor-based controller 22.
The apparatus 10 shown in FIG. 8 typically is located within a common housing, such as provided by SCSI (Small Computer System Interface) resident at a personal computer or other computer requiring storage of a large quantity of data. The data storage capacity both sides of a disk such as a 130 mm (51/4 inch) optical disk.
Data read and write logic, implemented by microprocessor-based controller 22 in the representative illustration of FIG. 8, has been carried out by commercially available special function integrated circuits, such as the AM95C96 optical disk controller (ODC), manufactured by Advanced Micro Devices of Sunnyvale, Calif. A system implementing the AM95C96, as shown in FIG. 1, comprises ODC 24 reading data through an encoder/decoder (ODE) 28 and a phase locked loop (PLL) 30 off the optical disk and writing to the optical disk. A CPU 32 controls seeking to the desired location on the disk. The ODC/ODE 24, 28 interfaces with CPU 32, working memory 34 and a disk interface 36 to process the applied data signals and transfer commands for compliance with particular specifications such as the X3B11 continuous composite servo (CCS), WORM/ERASABLE optical format developed by ANSI.
The ODC 24 is interfaced to a system bus by host interface unit 38, and is supported by buffer memory 40 and error processor 42. General operation of the system shown in FIG. 1, being known to the prior art, is for brevity not described in detail.
FIG. 7 depicts the layout of tracks on an optical disk. The tracks are arranged along a spiral path on the surface of the disk 12, wherein each turn of the spiral is treated as a separate track. In one example, the optical disk may be 90 mm in diameter, and may contain 10,000 tracks (numbered 0-9999 in FIG. 7); each track is divided into twenty-five (25) sectors. Each sector in turn will carry 725 bytes of unformatted data. The optical disk in this example thus is capable of storing 181,250,000 bytes of data, equivalent to about 100,000 pages of text. Modifications include implementing more densely packed sectors, larger diameter disks and/or double-sided storage for enhanced information storage capacity.
FIG. 2 is a diagram of the X3B11 format, comprising a header area that is "pre-stamped", followed by a data area for receiving data for storage. The first field of the header is a sector mark (SM), having a special redundant pattern. This field identifies the start of the sectors. The SM field as well as the other fields constituting the X3B11 format is summarized in Table I below.
TABLE I __________________________________________________________________________ NAME FUNCTION PATTERN __________________________________________________________________________ SM Sector Mark 80 channel bits (5 bytes) Special Redundant Pattern= -5 3 -3 7 -3 3 -3 3 -5 long burn followed by 0010010010 =1111111111000000111111000000000000001111110000001111110000001111111111 0010010010 VFO1,2,3 Lock up field for PLL Continuous Pattern VFO1 = 01001001001 . . . 010010 VFO2' = 10010010010 . . . 010010 VFO2" = 00010010010 . . . 010010 VFO3 = 01001001001 . . . 010010 Note: VFO2 varies depending on previous pattern in CRC.
AM Address Mark (Bit/Byte Sync) 0100 1000 0000 0100 16 Channel bits, (1 byte) ID Track No. (2 bytes) High order/Low order Sector No. (1 bytes) bits 7-6 = ID Number (ID 0-2) bit 5 = 0 Reserved bits 4-0 = Sector Number CRC ID Field Check Bytes (2 butes) CRC Polynomial seed = 1's
Postamble (one byte) Allows last CRC and Data byte closure under RLL (2,7) modulation ODF Offset Detection Flag (one byte) Not written, no grooves GAP Gap (Splice) Unformatted area FLAG Indicate Written Block Continuous Pulse (5 byte area, decision by majority) 100100100100100100100100100 . . ALPC Auto Laser Power Control Blank 2 bytes zone SYNC Redundant Sync for Data Triple sync pattern 0100 0010 0100 0010 0010 0010 0100 0100 1000 0010 0100 1000 DATA User Data, Control, CRC, ECC See FIGS. 1.6 and 1.7. and RESYNC bytes. BUFFER Used for RPM timing margins Not Written area RESYNC Data Field byte sync 0010 0000 0010 0100 16 Channel bits (1 byte) __________________________________________________________________________ NOTE: All bit patterns show channel code bits in RLL (2,7) modulation.
During both reading and writing operations, ODE 26 detects sector mark (SM) once within each sector. Referring to Table I, the sector mark comprises 80 bits arranged as a long burn followed by a transition pattern. It is necessary to detect the sector mark dynamically during reading and writing in order to identify the start of each sector. This requires robust decoding of the long burn pattern.
Sector mark decoding may be carried out by monitoring strings of ones in the long burn pattern. This approach is not robust, however, because it will tend not to respond to sector mark patterns that deviate only slightly from the specified pattern. This is troublesome, as all bits of the sector mark pattern often will not be detectable as a result of imperfections in the optical medium, etc. The present invention is an improved sector mark detection algorithm that is more robust, i.e., it can identify a sector mark pattern that is valid only in some portions of the long burn pattern and not in others.